package cn.stylefeng.guns.modular.basic.entity;

import java.io.Serializable;
import java.util.Date;

import com.baomidou.mybatisplus.annotation.FieldFill;
import com.baomidou.mybatisplus.annotation.IdType;
import com.baomidou.mybatisplus.annotation.TableField;
import com.baomidou.mybatisplus.annotation.TableId;
import com.baomidou.mybatisplus.annotation.TableName;

import lombok.Data;

/**
 * <p>
 * 通用编码
 * </p>
 *
 * @author zhucx
 * @since 2022-12-23
 */
@TableName("basic_code")
@Data
public class BasicCode implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 主键id
     */
    @TableId(value = "id", type = IdType.AUTO)
    private Integer id;

    /**
     * 父部门id
     */
    @TableField("pid")
    private Long pid;

    /**
     * 父级ids
     */
    @TableField("pids")
    private String pids;

    /**
     * 名称
     */
    @TableField("code_name")
    private String codeName;

    /**
     * 项目id
     */
    @TableField("operate_id")
    private Long operateId;

    /**
     * 归属项目
     */
    @TableField("operate_name")
    private String operateName;

    /**
     * 编码
     */
    @TableField("code_number")
    private String codeNumber;

    /**
     * 是否启用
     */
    @TableField("status")
    private String status;

    /**
     * 描述
     */
    @TableField("notes")
    private String notes;

    /**
     * 创建时间
     */
    @TableField(value = "create_time", fill = FieldFill.INSERT)
    private Date createTime;

    /**
     * 修改时间
     */
    @TableField(value = "update_time", fill = FieldFill.UPDATE)
    private Date updateTime;

    /**
     * 创建人
     */
    @TableField("create_user")
    private String createUser;

    /**
     * 修改人
     */
    @TableField("update_user")
    private String updateUser;

    /**
     * 部门id
     */
    @TableField("dept_id")
    private Long deptId;

    /**
     * 交付客户id
     */
    @TableField("deliver_id")
    private Long deliverId;

    /**
     * v1
     */
    @TableField("v1")
    private String v1;

    /**
     * v2
     */
    @TableField("v2")
    private String v2;

    @Override
    public String toString() {
        return "BasicCode{" +
        "id=" + id +
        ", pid=" + pid +
        ", pids=" + pids +
        ", codeName=" + codeName +
        ", operateId=" + operateId +
        ", operateName=" + operateName +
        ", codeNumber=" + codeNumber +
        ", status=" + status +
        ", notes=" + notes +
        ", createTime=" + createTime +
        ", updateTime=" + updateTime +
        ", createUser=" + createUser +
        ", updateUser=" + updateUser +
        ", deptId=" + deptId +
        ", deliverId=" + deliverId +
        ", v1=" + v1 +
        ", v2=" + v2 +
        "}";
    }
}
